package com.crowntit.domain.activity.service.trail;

import com.crowntit.domain.activity.adapter.repository.IActivityRepository;
import com.crowntit.domain.activity.model.entity.MarketProductEntity;
import com.crowntit.domain.activity.model.entity.TrialBalanceEntity;
import com.crowntit.domain.activity.service.trail.factory.DefaultActivityStrategyFactory;
import com.crowntit.types.design.framework.tree.AbstractMultiThreadStrategyRouter;
import com.crowntit.types.design.framework.tree.AbstractStrategyRouter;

import javax.annotation.Resource;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeoutException;

/**
 * 支撑类，只是一个支撑类，起到一个提供泛型实例的作用？
 * @param <MarketProductEntity>
 * @param <DynamicContext>
 * @param <TrailBalanceEntity>
 */
public abstract class AbstractGroupBuyMarketSupport<MarketProductEntity, DynamicContext, TrailBalanceEntity> extends AbstractMultiThreadStrategyRouter<com.crowntit.domain.activity.model.entity.MarketProductEntity, DefaultActivityStrategyFactory.DynamicContext, TrialBalanceEntity> {

    protected long timeout = 500;
    @Resource
    protected IActivityRepository activityRepository;

    @Override
    protected void multiThread(com.crowntit.domain.activity.model.entity.MarketProductEntity requestParameter, DefaultActivityStrategyFactory.DynamicContext dynamicContext) throws ExecutionException, InterruptedException, TimeoutException {
        return;
    }
}
